package br.ufscar.acumaaf.smc.activity;

import br.ufscar.acumaaf.smc.R;
import br.ufscar.acumaaf.smc.dao.UsuarioDAO;
import br.ufscar.acumaaf.smc.model.Usuario;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

public class EditaUsuario extends Activity{

	private EditText campoCodigoUsuario;
	private EditText campoNome;
	private EditText campoUsuario;
	private EditText campoSenha;
	private EditText campoTipoUsuario;
	
	private Integer id;
	private Usuario usuario;
		
	public void onCreate(Bundle b){
		super.onCreate(b);
		setContentView(R.layout.formulario_edicao_usuario);
		
		//Captura os campos da tela de Edição de Usuário
		campoCodigoUsuario = (EditText) findViewById(R.id.edicaousuario_edittext_codigousuario);
		campoNome = (EditText) findViewById(R.id.edicaousuario_edittext_nome);
		campoUsuario = (EditText) findViewById(R.id.edicaousuario_edittext_usuario);
		campoSenha = (EditText) findViewById(R.id.edicaousuario_edittext_senha);
		campoTipoUsuario = (EditText) findViewById(R.id.edicaousuario_edittext_tipousuario);
		
		id = null;
		
		Bundle extras = getIntent().getExtras();
		//Recupera os dados para Edição
		if(extras != null){
			id = extras.getInt("codigousuario");
			if(id != null){
				usuario = new UsuarioDAO(this).buscarUsuarioPeloCodigo(id);
				campoCodigoUsuario.setText(usuario.getCodigoUsuario().toString());
				campoNome.setText(usuario.getNome());
				campoUsuario.setText(usuario.getUsuario());
				campoSenha.setText(usuario.getSenha());
				campoTipoUsuario.setText(usuario.getTipoUsuario().toString());
			}
		}
		
		Button botaoEditar = (Button) findViewById(R.id.edicaousuario_button_Editar);
		botaoEditar.setOnClickListener(new Button.OnClickListener(){
			public void onClick(View v){
				usuario.setCodigoUsuario(Integer.valueOf(campoCodigoUsuario.getText().toString()));
				usuario.setNome(campoNome.getText().toString());
				usuario.setUsuario(campoUsuario.getText().toString());
				usuario.setSenha(campoSenha.getText().toString());
				usuario.setTipoUsuario(Integer.valueOf(campoTipoUsuario.getText().toString()));
				new UsuarioDAO(getApplicationContext()).atualizaUsuario(usuario);
				setResult(RESULT_OK, new Intent());
				//Fecha a tela
				finish();
			}
		});
		
		Button botaoCancelar = (Button) findViewById(R.id.edicaousuario_button_cancelar);
		botaoCancelar.setOnClickListener(new Button.OnClickListener(){
			public void onClick(View v){
				setResult(RESULT_CANCELED);
				//Fecha a Tela
				finish();
			}
		});
		
		Button botaoExcluir = (Button) findViewById(R.id.edicaousuario_button_excluir);
		if(id == null){
			botaoExcluir.setVisibility(View.INVISIBLE);
		}
		else{
			botaoExcluir.setOnClickListener(new Button.OnClickListener(){
				public void onClick(View v){
					new UsuarioDAO(getApplicationContext()).deletaUsuario(Long.valueOf(id));
					setResult(RESULT_OK, new Intent());
					finish();
				}
			});
		}	
	}
}